import axios from './index.js'

//购物车相关

//加入购物车
export const addToCartFun = function (productId, miaoShaId, num, selectType) {
    // productId 要加入购物车的商品id
    // miaoShaId 商品所属的秒杀活动(如果是秒杀商品,则有此参数)
    // num 购买的数量(详情页中的加入购物车有此参数)
    // selectType 选择的规格参数(详情页中的加入购物车有此参数)
    return axios.post('/api/cart/add', 
        { productId, miaoShaId, num, selectType},
        {
            headers: { "Content-Type": "application/x-www-form-urlencoded" }
        }
    );
};

//获取登录用户的购物车数据
export const getUserCartFun = function () {
    // 响应数据:
    // 标准的响应数据结构,
    // 成功时, data 中存储的数据的主要结构如下:
    // data: {
    //     id: '购物车标识',
    //     list: [
    //         //商品id,图片,标题,规格参数(数组),选中的规格参数,单价,购买的数量,商品状态(-1不可用,1可用)
    //         //如果是秒杀商品,则需要有额外属性 endTime,表示该商品对应的秒杀活动的结束时间
    //         {productId, image, title, type:[], selectType, price, num, status, endTime}
    //     ]
    // }
    return axios.get('/api/cart/user');
};

//删除购物车中选中的、从购物车中删除过期/下架商品
export const removeFormCartFun = function (cartId, productIdArr=[]) {
    // cartId 购物车标识
    // ids 被删除的商品id,多个商品id之间以逗号分隔

    let ids;
    if(productIdArr.length > 0) {
        ids = productIdArr.join(',');
    }

    return axios.request({
        url: '/api/cart/remove',
        method: 'get',
        params: {
            cartId: cartId,
            ids: ids
        }
    });
};

//修改购物车中选中的 数量、参数规格
export const modifyFromCartFun = function (cartId, productId, num, selectType) {
    // cartId 购物车标识
    // productId 商品id
    // num 修改后的数量
    // selectType 参数规格
    // 参数 num 与 selectType 有一个可能会没有

    return axios.request({
        url: '/api/cart/modify',
        method: 'get',
        params: {
            cartId: cartId,
            productId: productId, 
            num: num,
            selectType: selectType
        }
    });
};

